﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Net.Http.Headers;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;//引入DllMain的引用
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace tt
{
    //internal class Program
    //{
    //    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    //    public static extern int MessageBox(IntPtr h, string m, string c, int type);

    //    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    //    static public extern int GetSystemMetrics(int nIndex);

    //    static void Main(string[] args)
    //    {
    //        string myString;
    //        Console.Write("Enter your message: ");
    //        myString = Console.ReadLine();
    //        MessageBox(IntPtr.Zero, myString, "Hello", 0);
    //        Console.WriteLine(GetSystemMetrics(0));// 屏幕宽度
    //        Console.ReadKey();
    //    }
    //}

    //public class eeedsa
    //{
    //    public static int t1;
    //    public eeedsa(int t)
    //    {
    //        t1 = t;
    //    }

    //    public static void Main(string[] args)
    //    {
    //        dac dac = new dac(12);
    //        Console.WriteLine(t1);
    //    }

    //    public void da()
    //    {

    //    }
    //}

    //public class dac : eeedsa
    //{
    //    public static int a = 4;
    //    public dac(int c) : base(a)
    //    {

    //    }

    //    public new void da()  
    //    {
    //        base.da();
    //    }
    //}


    //public class Program
    //{
    //    public int ee1 = 2;
    //    public int ee2 = 3;
    //}

    //public class da
    //{
    //    public static int a = 4;

    //    public static void Main(string[] args)
    //    {            
    //        Program p = new Program();
    //        p.ee1 = 5;
    //        p.ee2 = 6;
    //        dww<Program> dww = new dww<Program>();
    //        dww.输出(p);
    //        dsa<char> dsa = new dsa<char>();
    //    }
    //}

    //public class Program1
    //{
    //    public int ee1 = 2;
    //    public int ee2 = 3;
    //}

    //public class dww<T>where T : Program //泛型约束 约束类型必须是Program的子类
    //{
    //    public void 输出(T t)
    //    {
    //        Console.WriteLine(t.ee1);
    //        Console.WriteLine(t.ee2);
    //    }
    //}

    //public class dsa<C> where C : new() //泛型约束 约束类型必须有默认构造函数
    //{

    //}

    //public class dsa2<C> where C : struct //泛型约束 约束类型必须是值类型{
    //{

    //}

    //public class da
    //{
    //    public static void Main(string[] args)
    //    {
    //        Program<int> p = new Program<int>(11);   
    //        p.da(22);
    //    }
    //}


    //public class Program<T> where T : new() //泛型约束 约束类型必须有默认构造函数
    //{
    //    public Program(T t)
    //    {
    //        Console.WriteLine(t);
    //    }

    //    public void da(T y)
    //    {
    //        Console.WriteLine(y);
    //    }

    //}

    //public class Program
    //{
    //    public static string[] d = { "a", "b", "c" };

    //    static void Main(string[] args)
    //    {
    //       Console .WriteLine(Program2.rr<string>(5, d));
    //    }

    //}

    //public static class Program2
    //{
    //    public static int rr<T>(int a, T[] c)
    //    {
    //        return a + c.Length;
    //    }
    //}

}
